概述
SView for Windos Control为OCX控件提供三维模型基本的浏览、模型属性操作、基本三维对象操作、动画播放等功能的实现接口,可实现基本的 三维模型展示功能,以便于用户个性化定制属于自己的产品。文档主要介绍了OCX控件提供的接口说明。SView for Windows Control控件集成说明的介绍请查看SView for Windows Control 集成说明文档。
接口列表
界面
面板显隐
方法
void ShowPanel(BSTR showPanel , VARIANT_BOOL showPorperty)
说明
面板显隐
参数
参数 | 是否必须 | 说明 |
---|---|---|
showPanel | 是 | 面板名称 |
showPorperty | 是 | 是否显示,True/False |
返回值
bool 显隐成功/失败
备注
面板名称 | 参数 |
---|---|
装配 | AssemblyPanel |
视图 | ViewPanel |
属性 | PropertyPanel |
图层 | LayerPanel |
工具栏显隐
方法
VARIANT_BOOL ShowToolbar(BSTR toolbarName, VARIANT_BOOL visible)
说明
工具栏显隐
参数
参数 | 是否必须 | 说明 |
---|---|---|
toolbarName | 是 | 工具栏名称 |
visible | 是 | 是否显示,True/False |
返回值
bool 显隐成功/失败
备注
工具栏名称 | 参数 |
---|---|
上部工具栏 | TopBar |
右侧工具栏 | RightBar |
底部工具栏 | BottomBar |
批注工具栏 | AnnotationBar |
手绘批注工具栏 | GestureNoteBar |
剖切工具栏 | ClipBar |
爆炸工具栏 | ExplodeBar |
测量工具栏 | MesuareBar |
动画工具栏 | AnimateBar |
执行操作
方法
VARIANT_BOOL DoActions(SHORT viewID, BSTR actions)
说明
执行操作
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
actions | 是 | json见Action定义 |
返回值
bool 执行操作成功/失败
备注
执行命令
方法
VARIANT_BOOL DoCommand(SHORT viewID, BSTR commandJson)
说明
执行命令
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
actions | 是 | json见Command定义 |
返回值
bool 执行操作成功/失败
备注
全屏
方法
void FullScreen(VARIANT_BOOL isFullScreen)
说明
全屏
参数
参数 | 是否必须 | 说明 |
---|---|---|
isFullScreen | 是 | 是否全屏显示,True/False |
返回值
void
备注
配置
设置多个SView配置
方法
void SetParameters(BSTR configJson)
说明
设置多个SView配置
参数
参数 | 是否必须 | 说明 |
---|---|---|
configJson | 是 | 多个参数json字符串 |
返回值
void
备注
Json格式示例:
{ "GLES": "2", "coordinate": "True", "antialiasing": "0", "isPlayScene": "True" }
获取多个SView配置
方法
BSTR GetParameters()
说明
获取多个SView配置
参数
无
返回值
BSTR 返回多个参数值的json字符串
备注
设置多个View配置
方法
void SetViewParameters(SHORT viewID, BSTR paramJson)
说明
设置多个View配置
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
paramJson | 是 | 多个参数json字符串 |
返回值
void
备注
Json格式示例:
{ "ShowBox":"True", //显示包围盒 "MultiSelect":"True", //多选 "UpDirection":"0",//模型上方向0=+X;1=-X;2=+Y;3=-Y;4=+Z;5=-Z; "AutoSelectRotateCenter":"True" //指定旋转 "DrawMode":"0",//渲染模式 0着色模式、1半透明模式、3线框模式、4边着色模式、5显示网格、6取消半透明模式、7显示/取消显示包围盒 "modelSelectedColor":"1,0,0,1"//模型选中颜色 }
设置单个View配置
方法
void SetViewParameter(SHORT viewID, BSTR name, BSTR value)
说明
设置单个View配置
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
name | 是 | 参数名,如"ShowBox" |
value | 是 | 参数值,如"True" |
返回值
void
备注
文件
打开文件
方法
void Open(SHORT viewID,BSTR fileUris)
说明
打开本地文件/打开网络文件
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是,默认是0 | 视口ID |
fileUris | 是 | 本地文件路径/网络文件路径多个文件用;;分割 |
返回值
void
备注
本地文件路径示例 D:\\1.svl 打开D盘下的1.svl文件
网络文件示例 http://192.168.75.1:8080/svlfiles/1.svl
关闭模型
方法
void Close(SHORT viewID)
说明
关闭模型
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
返回值
void
备注
基本浏览
刷新视口
方法
void RefreshWindow(SHORT viewID)
说明
刷新视口
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
返回值
void
备注
设置基本视图
方法
void SetPerspective(SHORT viewID,SHORT viewType)
说明
设置基本视图
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
viewType | 是 | viewType:视图方向 |
返回值
void
备注
设置基本视图,如正视图、轴侧图等视图方向:0前视图,1后视图,2左视图,3右视图,4仰视图,5俯视图,6轴测图,7默认视图,8后轴测图
设置观察模式
方法
void SetOrbitMode(SHORT viewID, SHORT modelType)
说明
设置观察模式
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
viewType | 是 | modelType:观察类型 |
返回值
void
备注
设置观察类型观察类型:0 自由观察, 1 动态观察,2 受约束的动态观察
复位视口
方法
void RestoreView(SHORT viewID)
说明
复位视口
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
返回值
void
备注
复位视口,复位整个场景,回到初始化完成状态
复位模型
方法
void Restore(SHORT viewID, BSTR shapeIDs, SHORT type)
说明
复位模型
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
shapeIDs | 是 | shapes数组,需要复位的对象数组,为空则复位所有对象。 shapeIDs为对象路径。 |
type | 是 | 复位的属性类型。0=All,1=transform,2=color,3=visible |
返回值
void
备注
复位模型,根据参数决定复位哪个属性
聚焦显示
方法
void Focus(SHORT viewID, BSTR svlPath)
说明
聚焦显示
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
svlPath | 是 | 聚焦显示的对象路径 |
返回值
void
备注
滚轮方向
方法
void SetWheelDirection(SHORT viewID, SHORT direction)
说明
滚轮方向
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
direction | 是 | 滚轮方向对应数值。 direction:1,后滚放大;—1,前滚放大。 |
返回值
void
备注
向上方向
方法
void SetUpDirection(SHORT viewID, SHORT axis)
说明
向上方向
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
axis | 是 | 向上方向对应的数值大小。 axis:0 右方向;1 左方向;2 上方向;3 下方向;4 前方向;5 后方向 |
返回值
void
备注
快照
方法
void TakeScreenPicture(BSTR savePath)
说明
快照
参数
参数 | 是否必须 | 说明 |
---|---|---|
savePath | 是 | 快照保存的本地路径。 |
返回值
void
备注
选择
获取模型是否高亮
方法
VARIANT_BOOL IsHighlight(SHORT viewID, BSTR svlPath)
说明
根据svlPath来获取模型是否高亮;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
svlPath | 是 | 模型唯一标识 |
返回值
True/False 高亮/不高亮
备注
svlPath 示例"PATH|0|3|2|3",此svlPath只支持单个唯一标识处理;
设置高亮
方法
void Highlight(SHORT viewID, BSTR shapeID,VARIANT_BOOL highlight)
说明
根据shapeID模型标识,highlight是否高亮来设置高亮
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
shapeID | 是 | 模型唯一标识(见备注) |
highlight | 是 | 是否高亮显示,True/False高亮/不高亮 |
返回值
void
备注
shapeID 示例"PATH|0|3|2|3" 如果有多个需要用","分隔开例如:"PATH|0|3|2|3,PATH|0|17|6,PATH|0|2";
获取选中的模型
方法
BSTR GetSelectedModels(SHORT viewID)
说明
获取当前视口中选中的模型。
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
返回值
类型:BSTR描述:返回的模型数组,OCX中为模型id列表的字符串,以英文逗号间隔。
备注
取消选中模型
方法
void DeselectModels(SHORT viewID, BSTR modelIDs)
说明
取消选中指定的多个模型。
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelIDs | 是 | modelIDs:要取消选中的模型数组。为Null则取消选中所有已选模型。 OCX中为对象id列表的字符串,以英文逗号间隔。 |
返回值
void
备注
选中对象
方法
void SelectShapes(SHORT viewID, BSTR shapeIDs, SHORT type)
说明
在视口中高亮指定的对象,如果有对应面板,则在面板中选中指定对象。
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
shapeIDs | 是 | 指定的对象数组 |
type | 是 | 指定的类型,如:0=模型、1=批注、2=测量、3=PMI、4=热点、5=几何等 |
返回值
void
备注
无
获取选中的对象
方法
BSTR GetSelectedShapes(SHORT viewID, SHORT type)
说明
获取当前视口中选中的对象。
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
type | 是 | 指定的类型,如:1=批注、2=测量、3=PMI、4=热点、5=几何等 |
返回值
类型:BSTR描述:shapes:指定的对象数组,OCX中为对象id列表的字符串,以英文逗号间隔。
备注
无
取消选中对象
方法
void DeselectShapes(SHORT viewID, BSTR shapeIDs, SHORT type)
说明
取消选中对象
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
shapeIDs | 是 | shapeIDs:要取消选中的指定的对象数组 |
type | 是 | type:指定的类型,如:1=批注、2=测量、3=PMI、4=热点、5=几何等 |
返回值
void
备注
无
模型
获取模型名称
方法
BSTR GetModelName(SHORT viewID, BSTR svlPath)
说明
通过svlPath获取模型名称;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
svlPath | 是 | 模型唯一标识 |
返回值
类型:BSTR描述:模型名称
备注
svlPath 示例"PATH|0|3|2|3",此svlPath只支持单个唯一标识处理;
重命名模型
方法
void SetModelName(SHORT viewID, BSTR modelID, BSTR name)
说明
重命名模型与设置模型名称相同,同时会更新装配树中的模型名称;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelID | 是 | modelID:模型唯一标识 |
name | 是 | 重命名模型的名字 |
返回值
void
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
获取所有的子模型
方法
BSTR GetModelSubModels(SHORT viewID, BSTR address)
说明
获取所有子模型;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
address | 是 | address:模型唯一标识 |
返回值
类型:BSTR描述:模型唯一标识,路径
备注
address 示例"PATH|0",此address只支持单个唯一标识处理;
获取父Model
方法
BSTR GetModelParent(SHORT viewID, BSTR address)
说明
获取父Model;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
address | 是 | address:模型唯一标识 |
返回值
类型:BSTR描述:模型唯一标识,路径
备注
address 示例"PATH|0|3|2|3",此address只支持单个唯一标识处理;
是否为装配件
方法
VARIANT_BOOL IsModelAssembly(SHORT viewID, BSTR modelID)
说明
是否为装配件;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelID | 是 | modelID:模型唯一标识 |
返回值
True/False 是否为装配件
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
获取模型位置
方法
BSTR GetModelWorldPosition(SHORT viewID, BSTR modelID)
说明
获取模型位置;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelID | 是 | modelID:模型唯一标识 |
返回值
paramJson为json格式数据:{ "positionX": 3042.774, "positionY": -549.5999, "positionZ": -904.6703 }
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
设置模型位置
方法
void SetModelWorldPosition(SHORT viewID, BSTR modelID, BSTR pos)
说明
设置模型位置;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelID | 是 | modelID:模型唯一标识 |
pos | 是 | pos:世界坐标系中的模型中心点位置。 ocx中为位置xyz坐标值字符串"x,y,z" |
返回值
void
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
显示或隐藏模型
方法
void SetModelVisible(SHORT viewID, BSTR modelID, VARIANT_BOOL visible)
说明
显示或隐藏模型;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelID | 是 | modelID:模型唯一标识 |
visible | 是 | visible:是否可见。 |
返回值
void
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
复位模型
方法
void RestoreModel(SHORT viewID, BSTR modelPath)
说明
复位模型;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelPath | 是 | modelPath:模型唯一标识 |
返回值
void
备注
modelPath 示例"PATH|0|3|2|3",此modelPath只支持单个唯一标识处理;
设置模型居中显示
方法
void FocusModel(BSTR svlPath)
说明
设置模型居中显示;
参数
参数 | 是否必须 | 说明 |
---|---|---|
svlPath | 是 | svlPath:模型唯一标识 |
返回值
void
备注
svlPath 示例"PATH|0|3|2|3",此svlPath只支持单个唯一标识处理;
模型属性
获取模型所有自定义属性
方法
BSTR GetModelProperties(SHORT viewID, BSTR modelID)
说明
获取模型所有自定义属性;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelID | 是 | modelID:模型唯一标识 |
返回值
string ret,json格式的属性列表
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
设置模型所有自定义属性
方法
void SetModelProperties(SHORT viewID, BSTR modelPath,BSTR propertiesStr)
说明
设置模型所有自定义属性;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelPath | 是 | modelPath:模型唯一标识 |
propertiesStr | 是 | modelID:模型唯一标识 |
返回值
void
备注
modelPath 示例"PATH|0|3|2|3",此modelPath只支持单个唯一标识处理。propertiesStr为json格式数据:
{ "visible": "true", "description": "gdfgdfg", "viewName": "", "animationName": "", "voiceFileName": "", "cameraProjectionType": "0", "position": [-126.909454, -113.450348, 280.300476] }
获取模型单个自定义属性
方法
BSTR GetModelProperty(SHORT viewID, BSTR modelID, BSTR name)
说明
获取模型单个自定义属性;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelID | 是 | modelID:模型唯一标识 |
name | 是 | string name,属性名 |
返回值
string ret:属性值
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
设置模型单个自定义属性
方法
void SetModelProperty(SHORT viewID, BSTR svlPath, BSTR name, BSTR value)
说明
设置模型单个自定义属性;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
svlPath | 是 | svlPath:模型唯一标识 |
name | 是 | 属性名 |
value | 是 | 属性值 |
返回值
void
备注
svlPath 示例"PATH|0|3|2|3",此svlPath只支持单个唯一标识处理。
删除模型单个自定义属性
方法
VARIANT_BOOL RemoveModelProperty(SHORT viewID, BSTR modelPath, BSTR propertyName)
说明
删除模型单个自定义属性;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelPath | 是 | modelPath:模型配置路径 |
propertyName | 是 | 属性名称 |
返回值
void
备注
modelPath 示例"PATH|0|3|2|3",此modelPath只支持单个唯一标识处理。
视图
获取视图列表
方法
BSTR GetModelViews(SHORT viewID)
说明
获取视图列表
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
返回值
类型:BSTR描述:视图集合,OCX中为视图id拼接字符串。
备注
无
保存视图为Json串
方法
BSTR ToModelViewJson(SHORT viewID, BSTR modelViewID)
说明
根据视图ID序列化生成视图Json数据
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelViewID | 是 | 视图ID,为All则获取全部视图,多个modelViewID用逗号隔开,例如:1001,1002,1003,1004 |
返回值
类型:BSTR描述:视图json数据。
备注
无
从Json串添加视图
方法
BSTR FromModelViewJson(SHORT viewID, BSTR jsonStr)
说明
根据视图Json数据生成视图
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
jsonStr | 是 | 视图Json数据 |
返回值
类型:BSTR描述:视图ID,多个ID用逗号隔开,例如:1001,1002,1003,1004。
备注
无
添加自定义视图
方法
SHORT CreateModelView(SHORT viewID, SHORT type)
说明
根据当前场景创建视图。
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
type | 是 | type:1=相机,2=零件位置,4=批注,8=热点。。。 |
返回值
类型:SHORT描述:视图ID
备注
无
删除视图
方法
VARIANT_BOOL RemoveModelView(SHORT viewID, SHORT measureShapeID)
说明
删除视图
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
measureShapeID | 是 | 要删除的视图ID |
返回值
类型:VARIANT_BOOL描述:视图删除成功/失败 True/False
备注
无
获取当前视图
方法
SHORT GetCurrentModelView(SHORT viewID)
说明
获取当前视图
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
返回值
类型:SHORT描述:当前视图ID
备注
无
显示视图
方法
void ShowModelView(SHORT viewID, SHORT modelViewID, VARIANT_BOOL bAnimationPlay)
说明
显示视图
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
返回值
void
备注
无
获取默认视图
方法
SHORT GetDefaultModelView(SHORT viewID)
说明
获取默认视图
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
返回值
视图对象,默认视图ID
备注
无
设置默认视图
方法
void SetDefaultModelView(SHORT viewID, SHORT modelViewID)
说明
设置默认视图
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelViewID | 是 | 默认视图ID |
返回值
void
备注
无
获取视图关联的PMI
方法
BSTR GetModelViewPMIs(SHORT viewID, SHORT modelViewID)
说明
获取视图关联的PMI
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelViewID | 是 | 视图ID |
返回值
PMI集合,ocx中为pmiID数组字符串
备注
无
获取视图关联的批注
方法
BSTR GetModelViewNotes(SHORT viewID, SHORT modelViewID)
说明
获取视图关联的批注
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelViewID | 是 | 默认视图ID |
返回值
批注集合,ocx中为ID数组字符串
备注
无
获取视图关联的模型
方法
BSTR GetModelViewModels(SHORT viewID, SHORT modelViewID)
说明
获取视图关联的模型
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelViewID | 是 | 默认视图ID |
返回值
模型集合,ocx中为ID数组字符串
备注
无
获取视图关联的剖切
方法
BSTR GetModelViewClips(SHORT viewID, SHORT modelViewID)
说明
设置默认视图
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelViewID | 是 | 默认视图ID |
返回值
剖切集合,ocx中为ID数组字符串
备注
无
PMI
获取模型PMI列表
方法
BSTR GetModelViewClips(SHORT viewID, SHORT modelViewID)
说明
获取指定model下的PMI数组,如果model为Null,则获取PMI文件中所有PMI。
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelViewID | 是 | 默认视图ID |
返回值
指定模型PMI数据
备注
无
批注
反序列化批注
方法
BSTR FromNoteJson(BSTR jsonStr)
说明
根据批注Json数据反序列化生成文本批注
参数
参数 | 是否必须 | 说明 |
---|---|---|
jsonStr | 是 | 文本批注Json数据 |
返回值
文本批注ID,多个ID用逗号隔开,例如:55410,55411,55412
备注
无
序列化批注
方法
BSTR ToNoteJson(BSTR noteIDs)
说明
根据批注ID,文本批注序列化成Json数据
参数
参数 | 是否必须 | 说明 |
---|---|---|
noteIDs | 是 | 文本批注ID,All为获取全部文本批注,多个ID用逗号隔开,例如:55410,55411,55412 |
返回值
为json格式数据
备注
无
获取所有批注
方法
BSTR GetModelAllNotes(SHORT viewID, BSTR modelPath)
说明
获取指定model下的Note数组,如果model为Null,则获取note文件中所有note。
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelPath | 是 | 模型唯一标识 |
返回值
获取指定model下的Note数组
备注
modelPath 示例"PATH|0|3|2|3";
删除批注
方法
void RemoveNote(SHORT viewID, BSTR noteIDs)
说明
删除指定模型的批注
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelPath | 是 | 模型唯一标识 |
返回值
void
备注
modelPath 示例"PATH|0|3|2|3";
热点
创建热点
方法
BSTR CreateHotSpot(SHORT viewID, BSTR locationX, BSTR locationY, BSTR name)
说明
创建热点
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
locationX | 是 | 屏幕坐标点X值 |
locationY | 是 | 屏幕坐标点Y值 |
name | 是 | 热点名称 |
返回值
创建的热点ID
备注
设置热点图片
方法
void SetHotSpotImage(SHORT viewID, BSTR hotSpotId, BSTR imagePath)
说明
设置热点图片
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
hotSpotId | 是 | 热点id |
imagePath | 是 | 图片文件路径 |
返回值
void
备注
图片文件路径例:C:\\123.png;
反序列化热点
方法
void ToHotSpotJson(SHORT viewID, BSTR hotSpotId)
说明
反序列化热点
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
hotSpotId | 是 | 热点id |
返回值
void
备注
热点删除
方法
VARIANT_BOOL RemoveHotSpot(SHORT viewID, BSTR hotSpotId)
说明
删除指定的热点
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
hotSpotId | 是 | 热点id |
返回值
热点删除成功/失败 True/False
备注
测量
删除距离
方法
VARIANT_BOOL RemoveMeasure(SHORT viewID, BSTR measureShapeID)
说明
删除指定的距离对象
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
measureShapeID | 是 | 测量对象的集合。 |
返回值
测量对象删除成功/失败 True/False
备注
反序列化测量对象
方法
BSTR ToMeasureJson(BSTR measureIDs)
说明
反序列化测量对象
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
measureIDs | 是 | 测量对象的集合 |
返回值
json格式测量数据;
备注
序列化测量对象
方法
void FromMeasureJson(BSTR jsonStr)
说明
序列化测量对象
参数
参数 | 是否必须 | 说明 |
---|---|---|
jsonStr | 是 | json格式测量数据; |
返回值
void
备注
剖切
剖切
方法
void Clip(SHORT viewID, BSTR paramJson)
说明
基于坐标平面创建剖面,可调节剖切深度,展示剖切面内容
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
paramJson | 是 | viewID传默认值0,paramJson为json格式数据如备注所示。 direction 剖切方向:1:X;2:Y;3:Z; -1:-X;-2:-Y;-3:-Z; position 剖切深度(0~100) showClipPlane 是否显示示意面 显示为True,不显示为False showCutPlane 是否显示盖面 显示为True,不显示为False reverseClip 是否反向剖切 显示为True,不显示为False |
返回值
void
备注
paramJson为json格式数据:{ "direction": "1", "position": 50, "showClipPlane": false, "showCutPlane": true, "reverseClip": "false" }
多剖切
方法
void MultiClip(SHORT viewID, BSTR paramJson)
说明
基于坐标平面创建剖面,可调节剖切深度,展示剖切面内容,多面剖切。
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
paramJson | 是 | viewID传默认值0,paramJson为json格式数据如备注所示。 directionX 为沿X轴剖切(1为沿X轴正方向,-1为X轴负方向,0为X轴不剖切) positionX 沿X轴剖切深度(0~100) directionY 沿Y轴剖切(1为沿Y轴正方向,-1为Y轴负方向,0为Y轴不剖切) positionY 沿Y轴剖切深度(0~100) directionZ 沿Z轴剖切(1为沿Z轴正方向,-1为Z轴负方向,0为Z轴不剖切) positionZ 沿Y轴剖切深度(0~100) showClipPlane 是否显示示意面 显示为True,不显示为False showCutPlane 是否显示盖面 显示为True,不显示为False reverseClip 是否反向剖切 显示为True,不显示为False |
返回值
void
备注
paramJson为json格式数据:{ "directionX": 1, "positionX": 50, "directionY": 1, "positionY": 0, "directionZ": 1, "positionZ": 10, "showClipPlane": false, "showCutPlane": true, "reverseClip": false }
关闭剖切
方法
void CancelClip(SHORT viewID)
说明
关闭模型的剖切展示
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
返回值
void
备注
无
爆炸
执行爆炸
方法
void Explosive(SHORT viewID, BSTR explosiveParamJson)
说明
展示模型爆炸效果
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
explosiveParamJson | 是 | paramJson为json格式数据如备注所示。 type 0为沿离中心点,1为左右爆炸,2为上下爆炸 position 爆炸位置为0~100 |
返回值
void
备注
paramJson为json格式数据:{ "ExplosiveParameter": { "type": "1", "position": "50" } }
关闭爆炸
方法
void CancelExplosive(SHORT viewID)
说明
关闭模型的爆炸展示
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
返回值
void
备注
无
动画
模型恢复初始位置
方法
void Restore(SHORT viewID, BSTR shapeIDs, SHORT type)
说明
复位对象,根据参数决定复位哪个属性。
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
shapeIDs | 是 | Shape数组,需要复位的对象数组。为空则复位所有对象。 |
type | 是 | 复位的属性类型。0=All,1=transform,2=color,3=visible |
返回值
void
备注
无
播放某一步骤
方法
void PlayAnimation(SHORT viewID)
说明
播放某一步骤
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
返回值
void
备注
无
暂停动画
方法
void PauseAnimation(SHORT viewID)
说明
暂停动画
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
返回值
void
备注
无
继续播放
方法
void ContinueAnimation(SHORT viewID)
说明
继续播放动画
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
返回值
void
备注
无
是否重复播放
方法
void SetAnimationParameter(SHORT viewID, BSTR type, BSTR isLoop)
说明
是否重复播放动画
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
type | 是 | 参数"Repeat",是否重复播放 |
isLoop | 是 | 参数"True"/"False"是否重复播放 |
返回值
void
备注
无
设置播放速度
方法
void SetAnimationParameter(SHORT viewID, BSTR type, BSTR isLoop)
说明
设置播放速度
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
type | 是 | 参数"Speed",播放速度 |
isLoop | 是 | 参数取值范围:1-10倍速 |
返回值
void
备注
无
打开动画文件
方法
VARIANT_BOOL OpenAnimation(SHORT viewID, BSTR animationFilePath)
说明
打开动画文件
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
animationFilePath | 是 | 动画文件路径 |
返回值
VARIANT_BOOL 打开动画文件成功/失败 True/False
备注
无
关闭动画
方法
void CloseAnimation(SHORT viewID)
说明
关闭动画
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
返回值
void
备注
无
倒带
方法
void RewindAnimation(SHORT viewID)
说明
动画倒带
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
返回值
void
备注
无
是否正在播放
方法
VARIANT_BOOL IsPlayingAnimation(SHORT viewID)
说明
动画是否正在播放
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
返回值
VARIANT_BOOL 动画是否正在播放 True/False
备注
无
是否有动画
方法
VARIANT_BOOL ExistAnimation(SHORT viewID)
说明
是否有动画
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
返回值
VARIANT_BOOL 是否有动画 True/False
备注
无
漫游
设置漫游参数
方法
VARIANT_BOOL SetWalkThroughParameters(SHORT viewID,BSTR json)
说明
设置漫游参数
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
json | 是 | json格式数据,如备注所示。 |
返回值
True/False 设置成功/不成功
备注
{ "Type":"1",//0=正常漫游查看,1=环绕查看Surround,2=定点查看FixedPoint "SurroundSpeed":"1",//环绕速度 "FixedPointRotateSpeed":"1",//定点环绕速度 "UpDirection":"0",//设置上方向,0=+X;1=-X;2=+Y;3=-Y;4=+Z;5=-Z; "CameraFov":"90",//设置相机FOV "WalkSpeed":"50",//漫游速度,单位:距离单位/秒 }
获取漫游参数
方法
BSTR GetWalkThroughParameters(SHORT viewID)
说明
获取漫游参数
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
返回值
类型:BSTR描述:返回json字符串
{ "Type":"1",//0=正常漫游查看,1=环绕查看Surround,2=定点查看FixedPoint "SurroundSpeed":"1",//环绕速度 "FixedPointRotateSpeed":"1",//定点环绕速度 "UpDirection":"0",//设置上方向,0=+X;1=-X;2=+Y;3=-Y;4=+Z;5=-Z; "CameraFov":"90",//设置相机FOV "WalkSpeed":"50",//漫游速度,单位:距离单位/秒 }
备注
无
关闭漫游
方法
void CancelWalkThrough(SHORT viewID)
说明
关闭漫游
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
返回值
void
备注
无
形状对象
获取显隐状态
方法
SVARIANT_BOOL GetVisible(SHORT viewID, BSTR shapeID, SHORT shapeType)
说明
对象包括各种可显示对象,如模型、PMI、标注、批注、测量结果、热点、几何等
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
shapeID | 是 | 对象ID |
shapeType | 是 | 可显示对象类型。 1=批注、2=测量、3=PMI、4=热点、5=几何 |
返回值
VARIANT_BOOL 可显示对象是否显隐 True/False
备注
无
设置显隐状态
方法
void SetVisible(SHORT viewID, BSTR shapeID, SHORT shapeType, VARIANT_BOOL visible)
说明
是否有动画
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
shapeID | 是 | 对象ID |
shapeType | 是 | 可显示对象类型。1=批注、2=测量、3=PMI、4=热点、5=几何 |
visible | 是 | 设置对象是否显隐。显示/隐藏 True/False |
返回值
void
备注
无
获取对象颜色
方法
BSTR GetColor(SHORT viewID, BSTR shapeID, SHORT shapeType)
说明
获取对象颜色
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
shapeID | 是 | 对象ID |
shapeType | 是 | 对象类型,1=批注、2=测量、3=PMI、4=热点、5=几何 |
返回值
BSTR 获取到的对象颜色
备注
批注、PMI、测量、热点、底层都不存在设置和获取颜色的实现
设置对象颜色
方法
void SetColor(SHORT viewID, BSTR shapeIDs, SHORT shapeType, BSTR color)
说明
设置对象颜色
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
shapeIDs | 是 | 对象ID集合字符串,用','分割 |
shapeType | 是 | 对象类型。1=批注、2=测量、3=PMI、4=热点、5=几何 |
color | 是 | 设置对象的颜色字符串,颜色格式0xRRGGBB |
返回值
void
备注
批注、PMI、测量、热点、底层都不存在设置和获取颜色的实现
渲染
获取模型透明度
方法
FLOAT GetAlpha(SHORT viewID, BSTR shapeIDs)
说明
获取模型透明度
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
shapeIDs | 是 | 模型ID |
返回值
Alpha,不透明度:0.0~1.0。
备注
无
设置模型透明度
方法
void SetAlpha(SHORT viewID, BSTR shapeID, FLOAT alpha)
说明
设置模型透明度
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
shapeIDs | 是 | 模型ID,如为"all"则为整个模型。 |
alpha | 是 | alpha,不透明度:0.0~1.0 |
返回值
void
备注
无
设置模型颜色
方法
void SetModelColor(SHORT viewID,BSTR shapeID, BSTR colorStr)
说明
设置模型颜色
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
shapeID | 是 | 模型ID |
colorStr | 是 | 设置模型颜色字符串,颜色格式0xRRGGBB |
返回值
void
备注
无
选中模型恢复初始颜色
方法
void RestoreColor(SHORT viewID,BSTR svlPath, SHORT type)
说明
选中模型恢复初始颜色
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
svlPath | 是 | 选中模型唯一标识 |
type | 是 | 模型类型,暂时不做设置,默认为1。 |
返回值
void
备注
svlPath模型路径例如:'PATH|0'。
获取相机状态值
方法
BSTR GetCameraStates(SHORT viewID, SHORT cameraID)
说明
获取相机状态值
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
cameraID | 是 | 相机ID,默认是0 |
返回值
类型:BSTR,Json类型的字符串。格式:
{ "position":"0 0 0", "rotate":"1 1 1", "zoom":"1 1 1 1" }
备注
position、rotate、zoom分别代表平移、旋转、缩放的状态值。
设置摄像机状态值
方法
void SetCameraStates(SHORT viewID, SHORT camaraID, BSTR states)
说明
设置摄像机状态值
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
camaraID | 是 | 相机ID,默认是0 |
states | 是 | 设置相机状态的json字符串,格式如备注所述,position、rotate、zoom分别代表平移、旋转、缩放的状态值。 |
返回值
void
备注
格式:{ "position":"0 0 0", "rotate":"1 1 1", "zoom":"1 1 1 1" }
设置背景颜色
方法
void SetBackgroundColor(SHORT viewID, BSTR topColor, BSTR bottomColor)
说明
设置背景颜色
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID,默认为0 |
topColor | 是 | topColor:顶部颜色 |
bottomColor | 是 | bottomColor:底部颜色 |
返回值
void
备注
无
事件
鼠标右键点击事件
事件
OnRightMouseDownEvent(locationX,locationY)
说明
点击鼠标右键会触发此事件,把鼠标的位置坐标分为X值和Y值作为返回值传递
参数
参数 | 是否必须 | 说明 |
---|---|---|
locationX | 是 | 鼠标位置X值 |
locationY | 是 | 鼠标位置Y值 |
返回值
void
备注
无
模型复原事件
事件
OnRestoreViewEvent(restoreViewInfo)
说明
点击复原按钮对模型进行复原处理时,会触发此事件
参数
参数 | 是否必须 | 说明 |
---|---|---|
restoreViewInfo | 是 | 暂无内容传值 |
返回值
void
备注
无
模型选中事件
事件
OnModelSelectedChanged(svlPath,isSelected)
说明
进行选中模型操作时会触发此事件,把选中模型的svlPath和选中状态进行回传。点击装配树中模型进行选中操作也会触发此事件,把选中模型的svlPath和选中状态进行回传。
参数
参数 | 是否必须 | 说明 |
---|---|---|
svlPath | 是 | 选中模型的svlPath |
isSelected | 是 | 模型选中状态 |
返回值
void
备注
无
模型预选事件
事件
OnModelPreSelectChanged(svlPath,isSelected)
说明
进行预选模型操作时会触发此事件,把预选模型的svlPath和预选状态进行回传
参数
参数 | 是否必须 | 说明 |
---|---|---|
svlPath | 是 | 预选模型的svlPath |
isSelected | 是 | 预选模型状态 |
返回值
void
备注
无
控件加载完成事件
事件
OnLoaded(loadInfo)
说明
OCX控件加载完成后会触发此事件
参数
参数 | 是否必须 | 说明 |
---|---|---|
loadInfo | 是 | 暂无内容传值 |
返回值
void
备注
无
模型加载完成事件
事件
OnFileLoadEndEvent(fileLoadInfo)
说明
模型加载完成之后会触发此事件
参数
参数 | 是否必须 | 说明 |
---|---|---|
fileLoadInfo | 是 | 暂无内容传值 |
返回值
void
备注
无
鼠标左键点击事件
事件
OnLeftMouseDownEvent(locationX,locationY)
说明
点击鼠标左键会触发此事件,把鼠标的位置坐标分为X值和Y值作为返回值传递
参数
参数 | 是否必须 | 说明 |
---|---|---|
locationX | 是 | 鼠标位置X值 |
locationY | 是 | 鼠标位置Y值 |
返回值
void
备注
无
鼠标悬停事件开关
方法
void SetMoseHover(VARIANT_BOOL isHover);
说明
鼠标悬停事件开关
参数
参数 | 是否必须 | 说明 |
---|---|---|
isHover | 是 | True/False:选中/取消选中。 |
返回值
void
备注
无
鼠标悬停事件
方法
void OnMouseHoverEvent(LPCTSTR locationX,LPCTSTR locationY);
说明
鼠标悬停事件
参数
参数 | 是否必须 | 说明 |
---|---|---|
locationX | 是 | 参数locationX是鼠标悬停时,屏幕坐标x的值。 |
locationY | 是 | 参数locationY是鼠标悬停时,屏幕坐标y的值。 |
返回值
void
备注
无